// 自定义类型(用于周边页面中的筛选条件类型验证)
export type Active = 'complex' | 'distance' | 'grade' | 'price'
export type Order = 'asc' | 'desc'
export type CurType = "猜你喜欢" | "热门去处" | "我的关注"
export interface AroundResultType{
  code: number
  data: AroundList | Array<Select> | null | LoginType | CircleList | UserInfoResult | UserStaticType | CircleLoveResult | CircleDetailResult | CircleReplyResult | VideoListResult | Array<AddressType> | CategoryResultType |DetailGoodsDataType | DetailStoreType
  msg: string
}
export interface CategoryResultType { 
  currPage: number
  list: Array<CategoryType>
  pages: number
  total: number
}


// 首页点击四个分类之后返回数据类型
export interface CategoryType {
  address: string
  area: string
  categoryId: number
  comment: null
  complex: null
  discount: null
  discountPrice: null
  distance: number
  grade: string
  id: number
  img: string
  location: string
  msTags: Array<{
    color: string
    id: number
    spuId: number
    tagName: string
  }>
  name: string
  popularity: null
  price: number
  remark: string
  sales: null
  storeId: number
  storeName: string
  weekdayPrice: number
  weekendPrice: number
}

export interface AddressType { 
  area: string
  city: string
  createTime: string
  id: number
  name: string
  province: string
  specificAddress: string
  status:number
  tel: string
  type: number
  userId: string
}

export interface VideoListResult { 
  total: number
  list: Array<CircleDetailResult>
}

//#region 首页
//#region 首页轮播图返回数据验证
export interface BannerItem { 
  id: number,
  location: string,
  status: string,
  types: string,
  advertImg: string,
  advertName: string,
  advertUrl: string,
  createTime: string,
  storeId: string,
  videoUrl: string
}

export interface SaveItem { 
    id: number,
    advertImg: string,
    advertName: string,
    advertUrl: string
}

//#endregion

//#region 首页热搜词的类型验证
interface List {
  distinguish: number
  id: number
  status: number
  type: number
  word: string
}
export interface HotRes {
  id: number
  list: Array<List>
  name: string
  msg: string
}

export interface SaveWord{ 
  id: number,
  word: string
}

//#endregion

//#region 首页分类的类型验证
export interface Category {
  id: number
  img: string
  name: string
  status: number
}
//#endregion

//#region 首页巴南好去处类型验证
interface GoodList { 
  categoryId: number
  deImg: string
  discount: null
  discountFestivalPrice: null
  discountPrice: null
  discountWeekdayPrice:null
  discountWeekendPrice: null
  festivalPrice: number
  love: number
  monthSale: number
  name: string
  ordinal: number
  pageView:number
  price: number
  sale:number
  skuId: number
  spec: string
  spuId: number
  status: number
  storeId:number
  storeName:null
  weekdayPrice:number
  weekendPrice:number
}

export interface Tags { 
  id:number
  storeId:number
  tagName:string
}

export interface ImgList { 
  createTime:string
  id:number
  img:string
  name:null
  storeId:number
  type:number
}

export interface SaveThemeList { 
    id: number,
    img: string,
    name: string,
    distance: number
}

interface List { 
  address: string
  area: string
  attention: number
  city: string
  consumption: string
  distance: number
  duration: string
  goodList: Array<GoodList>
  goodsNum: number
  id: number
  img: string
  imgList: Array<ImgList>
  introduce: string
  location: string
  monthSales: string
  name: string
  province: string
  score:null
  storeCircle: null
  tagList: Array<Tags>
}
export interface ThemeResult{ 
  list: Array<List>,
  total: number
}
//#endregion

//#region 首页猜你喜欢或者热门去处数据类型验证

export interface CircleUser{
  head:string
  id:string
  name:string
  signature:null
  storeId:string
  type:null | string
}
 
export interface Select { 
  address:string
  area:string
  attentionStatus:number
  checked:number
  circleMaterialList:null
  circleReplyResult:null
  circleSpuList:null
  circleStoreList:null
  circleUser:CircleUser
  city:number
  collect:number
  collectStatus:number
  containVideo:number
  content:string
  createTime:string
  forward:number
  headFigure:string
  id:string
  isWrap:number
  location:string
  love:number
  merchantId:string
  modifyHead:number
  pageviews:number
  province:string
  replyNum:number
  score:number
  specificAddress:string
  status:number
  storeId:string
  title:string
  type:string
  updateTime:string
  userId:string
}

export interface SaveSelect { 
  title: string
  img:string
  content: string
  id:string
  type:string
  storeId: string
  merchantId: string
  address: string
  isVideo: number
  circleUser: {
    head: string
    id:string
    name:string
    storeId:string
  }
}
//#endregion
//#endregion

//#region 周边数据类型验证

export interface AroundList { 
  list: Array<AroundItem>
  total: number
}
export interface CircleList { 
  list: Array<Select>
  total: number
}

export interface CircleLoveResult { 
  list: Array<CircleLove>
  total: number
}

export interface AroundItem { 
  address:string
  area:string
  attention:number
  city:string
  consumption:string
  distance:number
  duration:string
  goodList:Array<AroundGoodList>
  goodsNum:number
  id:number
  img:string
  imgList:Array<AroundImgList>
  introduce: string
  location: string
  monthSales:string
  name:string
  province:string
  score:null
  storeCircle:null
  tagList: Array<AroundTagList>
}
export interface AroundGoodList { 
  categoryId:number
  deImg:string
  discount:null
  discountFestivalPrice:null
  discountPrice:null
  discountWeekdayPrice:null
  discountWeekendPrice:null
  festivalPrice:number
  love:number
  monthSale:number
  name:string
  ordinal:number
  pageView:number
  price:number
  sale:number
  skuId:number
  spec:string
  spuId:number
  status:number
  storeId:number
  storeName:null
  weekdayPrice:number
  weekendPrice:number

}
export interface AroundImgList {
  createTime:string
  id:number
  img:string
  name:null
  storeId:number
  type:number
 }
 export interface AroundTagList {
  id:number
  storeId:number
  tagName:string
 }
//#endregion

//#region 用户信息和登录
// 登录成功数据类型验证
export interface LoginType { 
  appleOpenId:null
  birthday:string
  clientId:null
  defaultReceviceAddress:null
  email:null
  goodsNum:number
  headImg:string
  id:string
  invalidEvaluationNum:number
  label:null
  nickName:string
  openId:null
  password:string
  realName:null
  registTime:string
  sex:null
  signature:string
  state:string
  tel:string
  token:null
  unionId:null
}

// 用户基本信息数据类型验证
export interface UserInfoResult { 
  attentionStoreNum:string
  birthday:string
  circleCount:number
  circleLoveCount:number
  collectGoodsNum:string
  couponNum:string
  headImg:string
  id:string
  integralNum:string
  label:Array<any>
  nickName:string
  orderStatus: {
    remainToBeEvaluatedNum: number
    refundedEtcNum: number
    unusedNum: number
    obligationNum: number
    }
  sex:null
  signature:string
  tel:string
}

// 用户获赞粉丝等类型验证
export interface UserStaticType{
  attention: number
  circle: number
  circleAttention: number
  circleLove: number
  fans: number
  guestCicle: number
  love: number
}
 

// 我的页面喜欢数据类型验证
export interface CircleLove { 
  area: string
  authorId: string
  authorName: string
  avatar: string
  circleId: string
  collectStatus: number
  containVideo: number
  content: string
  createTime: string
  headfigure: string
  id: string
  isWrap: number
  love: number
  title: string
  type: string
  userId: string
}
//#endregion

//#region 详情页类型验证
// 逛逛页面点击进行详情页类型验证
export interface CircleDetailResult { 
  address:string
  area:string
  attentionStatus:number
  checked:number
  circleMaterialList: Array<CircleMaterialList>
  circleReplyResult: CircleReplyResult
  circleSpuList:Array<CircleSpuList>  // 提到的好物
  circleStoreList: Array<CircleStoreList>  // 提到的好去处
  circleUser: CircleUser
  city:null
  collect:number
  collectStatus:number
  containVideo:number
  content:string
  createTime:string
  forward:number
  headFigure:string
  id:string
  isWrap:number
  location:null
  love:number
  merchantId:string
  modifyHead:number
  pageviews:number
  province:null
  replyNum:number
  score:number
  specificAddress:null
  status:number
  storeId:string
  title:string
  type:string
  updateTime:string
  userId:string
}


export interface CircleReplyResult{
  circleReplyList:Array<CircleReplyList>  // 评论
  loveList:Array<string>  // 评论点赞
  storeList:Array<UserList>  // 店家信息
  total:null | number        // 点赞的数量
  userList:Array<UserList>  // 用户自己信息
}

export interface CircleSpuList{ 
  categoryId:number
  circleId:string
  headFigure:string
  id:number
  price:number
  spuId:number
  spuName:string
  storeId:number
}

// 逛逛详情页轮播图
export interface CircleMaterialList{
  circleId:string
  createTime:string
  field1:null
  field2:null
  field3:null
  id:string
  oridinal:null
  size:null
  title:string
  type:string
  url:string
  videoCover:null
}

// 提到好去处类型验证
export interface CircleStoreList{
    address:string
    area:string
    circleId:string
    consumption:string
    distance:number
    duration:string
    headFigure:string
    id:number
    location:string
    storeId:number
    storeName:string
}
  
// 评论类型验证
export interface CircleReplyList{ 
  circleId:string
  content:string
  createTime:string
  id:string
  isWrap:number
  love:number
  loveStatus:number
  pid:string
  receiverId:string
  receiverType:string
  senderId:string
  senderType:string
  sonList: Array<SongList>
  status:number
  total:number
}

// 评论的回复
export interface SongList { 
  circleId:string
  content:string
  createTime:string
  id:string
  isWrap:number
  love:number
  loveStatus:number
  pid:string
  receiverId:string
  receiverType:string
  senderId:string
  senderType:string
  sonList:null
  status:number
  total:number
}

export interface UserList { 
  head:string
  id:string
  name:string
  signature: string | null
  storeId:string | null
  type:string
}
//#endregion


//#region 首页特产商城商品详情类型
export interface DetailStoreType { 
  area: string
  attentionId:null
  distance: number
  goodsNum: number
  introduce: string
  isAttentionStore: number
  monthSales: string
  storeAvatar: string
  storeId: number
  storeName: string
  storeTag: Array<{
    id: number
    storeId: number
    tagName: string
  }>
  time: string
}

export interface DetailGoodsDataType { 
  brand: null
  category:any
  comments: Array<any>
  deImg:string
  descDatail:string
  discount: null
  discountPrice: null
  favorableRate:number
  goodsImgs:Array<GoodsImgs>
  goodsTags: Array<GoodsTags>
  id:number
  introduce:string
  love:number
  merchant:any
  monthSales:string
  sales:string
  salesPrice:string
  sku: any
  stars: number
  status: string
  store: Store
  video: Array<any>
  weekdayPrice: null
  weekendPrice: null
  name: string
  pageView: number
  remark: string
}

export interface Store { 
  address: string
area:null
attentionId:null
city:null
consumption:null
fansNum: string
id: number
img: string
introduce:null
location:null
monthSalesDetail:null
monthSalesNum: number
name: string
province:null
status: string
}

export interface GoodsTags{ 
  color: string
  id: number
  spuId: null
  tagName: string
}

export interface GoodsImgs { 
  id:number
  img: string 
  spuId:number
}
//#endregion


